//
// Created by codex on 2024/5/29.
//

#include "Peripheral.h"
#include "usart.h"
#include "Drv_Screen.h"
char camera_x=0,camera_y=0;
unsigned char mode=0,color_select=0;
union  uint8_2_s32 car_targetx,car_targety;
//extern int wp_now_x=0;
//extern int wp_now_y=0;
void Uav_DataAnl(uint8_t *data)
{
    uint8_t check_sum1 = 0, check_sum2 = 0;
    uint8_t len=data[3]+6;

//    for (uint8_t i = 0; i < len - 2; i++)
//    {
//        check_sum1 += *(data + i);
//        check_sum2 += check_sum1;
//    }
//    if ((check_sum1 != *(data + len - 2)) || (check_sum2 != *(data + len - 1))) //判断sum校验
//    {
//        return;
//    }

    switch (*(data + 2))
    {
        case POINT_TYPE:
        {
            car_targetx._u8_temp[0]=data[4];
            car_targetx._u8_temp[1]=data[5];
            car_targetx._u8_temp[2]=data[6];
            car_targetx._u8_temp[3]=data[7];
            car_targety._u8_temp[0]=data[8];
            car_targety._u8_temp[1]=data[9];
            car_targety._u8_temp[2]=data[10];
            car_targety._u8_temp[3]=data[11];
            wp_n_x=car_targetx._s32_temp;
            wp_n_y=car_targety._s32_temp;
            print_UARTx(&huart2,"%d %d",car_targetx._s32_temp,car_targety._s32_temp);
        }
    }
}
void v831_DataAnl(uint8_t *date)
{
    if(date[0]==0x3f&&date[5]==0xff)
    {
        mode=date[1];
        color_select=date[2];
        camera_x = date[3];
        camera_y =date[4];
    }
}
//void Uav_DataAnl(uint8_t *data_t)
//{
//    uint8_t len=strlen(data_t);
//    uint8_t len_t=len;
//    uint8_t data[128];
//    memset(data,0,sizeof(data));
//    memcpy(data,data_t,len);
//
//    while(len_t>0)
//    {
//
//        len=data[3]+6;
//        uint8_t check_sum1 = 0, check_sum2 = 0;
//        for (uint8_t i = 0; i < len - 2; i++)
//        {
//            check_sum1 += *(data + i);
//            check_sum2 += check_sum1;
//        }
//        if ((check_sum1 != *(data + len - 2)) || (check_sum2 != *(data + len - 1))) //ÅÐ¶ÏsumÐ£Ñé
//            return;
//        switch (*(data + 2))
//        {
//            case 0xE4:
//            {
//                car_targetx=data[4];
//                car_targety=data[5];
//                break;
//            }
//        }
//        len_t-=data[3]+6;
//        memcpy(data,data+data[3]+6,strlen(data)-data[3]-6);
//    }
//}
//void myPERI_init()
//{
//
//}
//void Peripheral_Task()
//{
//
//}